home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 6
/
FM Towns Free Software Collection 6.iso
/
game
/
h_stripe
/
editer.bas
< prev
next >
Wrap
BASIC Source File
|
1993-07-08
|
3KB
|
96 lines
1 N=8:CLEAR,,,(N+1)*40000:DEFINT A-Z
2 N=8 '※1行目と2行目の N は、同時に変更すること。
10 DIM QUE$(N,500),EX$(N,500,3),ANS(N,500),LIM(N)
20 WINDOW:VIEW:CLS:CONSOLE 0,24,2:COLOR 4
30 PRINT"データ読み込み中......"
40 FOR I=0 TO N:J=0
50 OPEN "I",1,"QUIZ"+RIGHT$(STR$(I),1)
60 INPUT#1,A$
70 IF A$="*" THEN J=J+1:GOTO 130 ELSE QUE$(I,J)=A$
80 FOR K=0 TO 3
90 INPUT#1,EX$(I,J,K)
100 NEXT K
110 INPUT#1,ANS(I,J)
120 J=J+1:IF J=<500 THEN 60
130 CLOSE:LIM(I)=J-1
140 NEXT I
150 '
160 INPUT"何番のファイルを編集しますか(0-"+STR$(N)+")",A
170 IF A>N OR A<0 THEN 160
180 X=A:YY=LIM(X)-1
190 PRINT"問題の数は";LIM(X);"個です。"
200 '
210 INPUT"(0.作成 1.修正 2.セーブ 3.一覧 4.終了)",A
220 ON A+1 GOSUB *SAKUSEI,*SHUSEI,*SAVE,*ITIRAN,*OWARI
230 GOTO 210
240 *SAKUSEI
250 YY=YY+1:Y=YY
260 PRINT"No.";Y
270 GOSUB *MONDAI
280 GOSUB *KOTAE
290 GOSUB *KAITOU
300 RETURN
310 *SHUSEI
320 INPUT"何番の問題を修正しますか (0-"+STR$(YY)+")",A
330 IF A<0 OR A>YY THEN 320
340 Y=A
350 PRINT"No.";Y
360 PRINT"問題 ";QUE$(X,Y)
370 FOR I=0 TO 3
380 PRINT"選択肢";I+1;" ";EX$(X,Y,I)
390 NEXT
400 PRINT"解答 ";ANS(X,Y)+1
410 GOSUB *MONDAI
420 GOSUB *KOTAE
430 GOSUB *KAITOU
440 RETURN
450 *SAVE
460 KILL"QUIZ"+RIGHT$(STR$(X),1):J=0
470 OPEN "O",1,"QUIZ"+RIGHT$(STR$(X),1)
480 PRINT#1,QUE$(X,J)
490 FOR K=0 TO 3
500 PRINT#1,EX$(X,J,K)
510 NEXT K
520 PRINT#1,ANS(X,J)
530 J=J+1:IF J<YY+1 THEN 480
540 PRINT#1,"*"
550 CLOSE
560 PRINT"セーブが終了しました。"
570 LIM(X)=YY+1
580 RETURN
590 *OWARI
600 INPUT"セーブしますか(Y/N)";A$
610 IF A$="Y" THEN GOSUB *SAVE ELSE IF A$="N" ELSE 600
620 INPUT"他のファイルを編集しますか(Y/N)";A$
630 IF A$="Y" THEN 160 ELSE IF A$="N" END ELSE 620
640 *MONDAI
650 PRINT"問題文を入力してください(全角文字で35文字以内)"
660 INPUT A$
670 IF LEN(A$)>70 THEN PRINT"長すぎます":GOTO 650
680 IF A$<>"" THEN QUE$(X,Y)=A$ ELSE PRINT QUE$(X,Y)
690 RETURN
700 *KOTAE
710 FOR I=0 TO 3
720 INPUT"選択肢"+STR$(I+1)+"を入力してください ",A$
730 IF LEN(A$)>60 THEN PRINT"長すぎます":GOTO 720
740 IF A$<>"" THEN EX$(X,Y,I)=A$ ELSE PRINT EX$(X,Y,I)
750 NEXT
760 RETURN
770 *KAITOU
780 INPUT"解答の番号を入力してください(1-4)",A$
790 IF A$<>"" THEN A=VAL(A$) ELSE PRINT ANS(X,Y)+1:GOTO 820
800 IF A<1 OR A>4 THEN 780
810 ANS(X,Y)=A-1
820 RETURN
830 *ITIRAN
831 INPUT"何番目から表示しますか";A
832 IF A<0 OR A>YY THEN 831
840 FOR I=A TO YY
850 PRINT I;SPACE$(2);QUE$(X,I)
860 IF I MOD 22 =21 THEN ELSE 900
870 PRINT"(キーを押してください[Cキーで中止])"
880 A$=INKEY$
890 IF A$="C" THEN I=YY ELSE IF A$="" THEN 880
900 NEXT
910 RETURN